package com.info.zhiduoduo.core.configs.jwt;

import com.info.zhiduoduo.core.vo.auth.UserAuthVO;

/**
 * 存放每个线程各自的用户信息。每个api接口请求时就对应了独一的一个线程，保证每个请求都是用唯一的用户信息
 */
public class UserLocal {

	private static ThreadLocal<UserAuthVO> LOCAL = new ThreadLocal<>();

	/**
	 * 将当前登录的用户信息存放在threadLocal中
	 *
	 * @param vo 用户信息
	 */
	public static void save(UserAuthVO vo) {
		LOCAL.set(vo);
	}

	/**
	 * 获取当前登录的用户信息
	 *
	 * @return 用户信息
	 */
	public static UserAuthVO get() {
		return LOCAL.get();
	}

	/**
	 * 删除当前用户信息
	 */
	public static void clear() {
		LOCAL.remove();
	}
}
